查看原文
其他

【综述专栏】Transformers中稀疏自注意力综述,及其在视觉跟踪中应用(IJCAI2022)

在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。

来源:知乎—LiteAI
地址:https://zhuanlan.zhihu.com/p/513524681

分享的本篇文章最大的创新点是通过对Transformer中的自注意力机制进行稀疏化操作,既降低了网络复杂度,同时提升了网络性能。这里先介绍下Transformer稀疏自注意力的复杂度优化方式。

自注意力机制在Transformers中扮演着非常重要的角色,但其实际应用存在着两个方面的挑战:

1. 复杂度:自注意力的复杂度为    (其中T为输入序列长度,D为隐藏层维度),因此当输入序列较长时,自注意力便成为应用的瓶颈。

2. 结构先验:由于自注意力没有对输入的任何偏置假设,甚至训练数据的顺序信息都要通过训练学习到。因此,Transformer(不经过预训练)很容易在小/中规模数据集过拟合。

首先,什么是稀疏注意力呢?在标准自注意力机制中,每个token需要和其他tokens连接。然而,Transformers中的注意力矩阵通常是稀疏的,因此可以通过添加结构性偏置类降低计算复杂度,其通过限制query-key对来实现。可以用下式表示:

基于稀疏连接方式,可将其分为两类:基于位置的稀疏自注意力、基于内容的稀疏自注意力。

一、基于位置的稀疏自注意力:注意力矩阵根据一些预先定义的模式进行限制,但无论何种限制,都可以将其分解为原子稀疏模式。

1. 原子稀疏模式可以分为如下几种:(1) 全局注意力、(2)带注意力、(3)空洞注意力、(4)随机注意力、(5)局部块注意力。纵坐标和横坐标分别表示query-key的tokens连接,其中带颜色的小块为能够进行的连接。如下图所示。

2. 聚合稀疏注意力:将以上原子注意力进行多种方式聚合,就形成了聚合稀疏注意力,如下图所示。

3. 扩展稀疏注意力:除了以上模式,一些工作对于特定的数据类型进行稀疏模式扩展,如下图所示为其他形式的稀疏注意力。其中BPT通过构建一个二叉树实现,其中的所有tokens都是叶子节点,内部节点时跨越节点,包含很多tokens。图的边将叶子节点和其相邻叶子结点进行连接,而更高level的跨越节点便包含更长距离的tokens。

二、基于内容的稀疏自注意力:另一条构建稀疏图的线是根据输入内容而定,构建基于内容的稀疏图的一个最直接的办法是选择和query相似度分数最高的keys进行连接。

本文中的稀疏自注意力,其注意力特征的每个像素值仅由与之最相似的K个像素值决定,属于基于内容的稀疏自注意力。下面为分享的用于追踪的稀疏自注意力Transformer文章。

SparseTT:使用稀疏Transformers进行视觉跟踪

文章标题:SparseTT: Visual Tracking with Sparse Transformers

代码链接:https://github.com/fzh0917/SparseTT (暂未放出,可持续关注)

作者及团队:Zhihong Fu , Zehua Fu , Qingjie Liu∗ , Wenrui Cai and Yunhong Wang (State Key Laboratory of Virtual Reality Technology and Systems, Beihang University, Beijing, China;Hangzhou Innovation Institute, Beihang University)

一句话结论:

在本文工作中,我们使用一种新的稀疏Transformer跟踪器来增强基于Transformer的视觉跟踪。Transformer中的稀疏自注意力机制缓解了专注于全局上下文的问题,从而忽略了vanilla自注意力机制之间的最相关信息,进而突出了搜索区域中的潜在目标。此外,为了提高分类和回归的准确性,引入了双头预测器。实验表明,我们的方法在多个数据集上以实时速度运行,显著优于现有SOTA方法,这表明了我们方法的优越性和普适性。此外,该方法的训练时间仅为TransT的25%。总的来说,这是一个之后研究工作的新的优秀基线。

以下为文章详细解读:

摘要

Transformers已成功应用于视觉跟踪任务,显著提高了跟踪性能。为模拟远程依赖而设计的自注意力机制是Transformers成功的关键。然而,自注意力缺乏对搜索区域中最相关信息的关注,因此很容易被背景分散注意力。在本文中,我们通过将最相关的信息集中在搜索区域,用稀疏注意力机制来缓解这个问题,从而实现更精确的跟踪。此外,我们还引入了一个双头预测器,以提高前景、背景目标框分类和回归的精度,从而进一步提高跟踪性能。大量实验表明,我们的方法在LaSOT、GOT-10k、TrackingNet和UAV123上以40 FPS的速度运行,显著优于现有SOTA方法。值得注意的是,与TransT相比,我们的方法的训练时间减少了75%。源代码和模型可在https://github.com/fzh0917/SparseTT。


01

简介

视觉跟踪旨在预测给定初始状态的目标的未来状态。它具有广泛的适用性,例如人机交互、视频监控和自动驾驶。现有的大多数方法都是通过序列预测框架来解决跟踪问题,它们基于初始状态和先前状态来估计当前状态。因此,在每个时间片中给出准确的状态是很重要的,否则错误会累积并导致跟踪失败。为了提高跟踪精度,即目标框的精度,现有工作已经做出了大量的努力。然而,目标变形、部分遮挡和尺度变化等挑战仍然是阻碍它们实现完美跟踪的巨大障碍。原因可能是这些方法大多采用互相关运算来度量目标模板和搜索区域之间的相似性,这可能会陷入局部最优。最近,TransT和DTT通过替换Transformer中的相关性来提高跟踪性能。然而,用Transformer构建跟踪器将带来一个新问题:Transformer中自注意力的全局视角导致主要信息(如搜索区域中的目标)聚焦不足,而次要信息(如搜索区域中的背景)聚焦过度,使前景和背景之间的边缘区域模糊,从而降低了跟踪性能。

在本文中,我们通过聚焦搜索区域的最相关信息来解决这个问题,这是用稀疏Transformer实现的。与之前工作中使用的普通Transformer不同,稀疏Transformer设计用于关注主要信息,使目标更具分辨力,即使在严重的目标变形、部分遮挡、尺度变化等情况下,目标的边界框也更精确,如图1所示。

总之,这项工作的主要贡献有三个方面:

• 我们提供了一个目标聚焦网络,能够聚焦搜索区域中感兴趣的目标,并突出最相关信息的特征,以便更好地估计目标的状态。

• 我们提出了一个基于稀疏Transformer的孪生网络跟踪框架,该框架具有很强的处理变形、部分遮挡、尺度变化等的能力。

• 大量实验表明,我们的方法超过了现有SOTA方法LaSOT、GOT-10k、TrackingNet和UAV123,同时以每秒40帧的速度运行,证明了我们方法的优越性。


02

相关工作

孪生网络跟踪器。在孪生网络视觉跟踪器中,互相关,通常被用于测量目标模板和搜索区域之间的相似性,已被广泛研究用于视觉跟踪。例如朴素互相关,深度互相关,像素互相关,像素到全局匹配互相关等。然而,互相关执行局部线性匹配过程,很容易陷入局部最优。此外,互相关捕获关系,破坏了输入特征的语义信息,这不利于准确感知目标边界。大多数孪生网络追踪器仍然难以处理变形、部分遮挡、尺度变化等问题。

视觉跟踪中的Transformer。近年来,Transformer已成功应用于视觉跟踪领域。STARK借鉴了DETR的灵感,将目标跟踪视为一个边界框预测问题,并使用编码器-解码器Transformer解决该问题,其中编码器对目标和搜索区域之间的全局时空特征依赖性进行建模,解码器学习查询嵌入以预测目标的空间位置,它在视觉跟踪方面取得了优异的性能。TrDiMP设计了一个孪生网络追踪管道,其中两条分支分别由CNN主干网和Transformer编码器及Transformer解码器组成。这里的Trans formers用于增强目标模板和搜索区域。与之前的孪生网络跟踪器类似,TrDiMP应用互相关来测量目标模板和搜索区域之间的相关性,这可能会妨碍跟踪器进行高性能跟踪。TransT和DTT注意到这一缺点,建议用Transformer取代互相关,从而生成融合特征,而不是响应分数。由于融合后的特征包含的语义信息比响应分数丰富,因此这些方法比以前的孪生网络跟踪器实现了更精确的跟踪。

Transformer中的自注意力擅长对长期依赖关系进行建模,这使得它能够很好地捕捉全局信息,然而,它缺乏对搜索区域中最相关信息的关注。为了进一步增强Transformer跟踪器,我们使用稀疏注意力机制来缓解上述自注意力的缺点。该想法的灵感来源于Zhao等人方法。我们对Zhao等人方法中的稀疏Transformer进行了调整,以适应视觉跟踪任务,并提出了一种新的端到端孪生网络跟踪器,带有编码器-解码器稀疏Transformer。在稀疏注意力机制的驱动下,稀疏Transformer聚焦于搜索区域中的最相关信息,从而更有效地抑制了干扰跟踪的背景。


03

方法

我们提出了一种用于视觉跟踪的孪生网络结构,由特征提取网络、目标聚焦网络和双头预测器组成,如图2所示。特征提取网络是一个权重共享的主干网。使用稀疏Transformer构建目标聚焦网络,生成目标聚焦特征。双头预测器区分前景和背景,并输出目标的边界框。请注意,我们的方法在在跟踪阶段没有在线更新,因此速度很快。

3.1 目标聚焦网络

目标聚焦网络采用稀疏Transformer构建,具有编码器-解码器架构,如图3所示。编码器负责对目标模板特征进行编码,解码器负责解码搜索区域特征,以生成聚焦于目标的特征。

编码器。编码器是目标聚焦网络中的一个重要但非必要的组件。它由N个编码器层组成,每个编码器层将其前一个编码器层的输出作为输入。注意,为了使网络能够感知空间位置信息,我们在目标模板特征中添加了空间位置编码,并将其和输入编码器。因此,第一个编码器层将具有空间位置编码的目标模板特征作为输入。简而言之,它可以表示为:

其中   表示目标模板特征,   表示空间位置编码,   表示第i个编码器层,   表示第(i-1)个编码器层的输出,   和   分别表示目标模板特征图的高和宽。

在每个编码器层中,我们使用多头自注意力(MSA)对目标模板特征图的所有像素对进行建模,其他操作和vanilla Transformer一样。

解码器。解码器是目标聚焦网络的重要组成部分。与编码器类似,解码器由M个解码器层组成。然而,与编码器层不同,每个解码器层不仅输入具有空间位置编码的搜索区域特征或其先前解码器层的输出,而且还输入编码器输出的编码目标模板特征。简而言之,它可以表示为:

中   表示搜索区域特征,   表示空间位置编码,   表示编码器输出的目标特征模板编码,   表示第i个解码器层,   表示第(i-1)个解码器层的输出,   和   分别表示搜索区域特征图的高和宽。

与vanilla Transformer的解码层不同,本文提出的稀疏Transformer的每个解码器层,首先使用稀疏多头自注意力(SMSA)计算X上的自注意力,然后使用朴素多头交叉注意力(MCA)计算Z和X之间的交叉注意力。其他操作与vanilla Transformer的解码器层相同。形式上,本文提出的的稀疏Transformer的每个解码器层可以表示为:


稀疏多头自注意力。为了提高前景背景的分辨力,减少前景边缘区域的模糊性,我们设计了稀疏多头自注意力算法。具体地说,在朴素MSA中,注意力特征的每个像素值由输入特征的所有像素值计算,这使得前景的边缘区域变得模糊。在我们提出的SMSA中,注意力特征的每个像素值仅由与之最相似的K个像素值决定,这使得前景更加聚焦,前景的边缘区域更加容易区分。

具体而言,如图4所示,给定   ,    和   ,我们首先计算query和key之间所有像素对的相似性,并在相似性矩阵中屏蔽不必要的tokens。然后,与图4左侧显示的原始缩放点积注意力不同,我们仅使用softmax函数对相似矩阵每行的K个最大元素进行归一化。对于其他元素,我们将其置为0。最后,我们将相似度矩阵和value相乘,得到最终结果。

图4中的右上角和右下角示意了朴素缩放点积注意力相似矩阵行向量归一化和稀疏点积注意力。我们可以看到,朴素点积注意力放大了相对较小的相似权重,这使得输出特征容易受到噪声和干扰背景的影响。然而,稀疏缩放点积注意力可以显著缓解这个问题。

3.2 双头预测器

大多数现有的跟踪器采用全连接网络或卷积网络在前景和背景之间进行分类,并对目标边界框进行回归,并没有根据分类和回归任务的特点对头部网络进行深入分析或设计。受Wu等人方法的启发,我们引入了一个双头预测器,以提高分类和回归的准确性。具体而言,如图2所示,它包括两个全连接层组成的fc头和L个卷积块组成的conv头。非聚焦任务添加到其中,以便在训练中作为额外监督。在推理阶段,对于分类任务,我们融合了fc头输出的和conv头输出的分类分数;对于回归任务,我们只取conv头输出的预测偏移量。

3.3 训练损失

我们遵循Xu等人方法生成的分类分数和回归偏移作为训练标签。为了端到端地训练整个网络,目标函数是分类损失和回归损失的加权和,如下所示:

其中    ,    ,    ,   是超参,在实践中,我们设置   ,    ,    ,    。    和    通过focal loss实现,    和    通过IoU loss实现。


04

实验

4.1 实现细节

训练数据集。我们分离了TrackingNet、LaSOT、ILSVRC VID、ILSVRC DET和COCO的训练数据集作为我们的训练数据集,用GOT-10k作为基准。我们从每个视频中选择两个最大帧索引差为100的帧作为目标模板和搜索区域。为了增加训练样本的多样性,我们将随机缩放范围设置为    ,将随机平移范围设置为[−0.2β,0.2β],其中

对于目标模板,    用于搜索区域,其中   。这里,   和   分别表示目标模板中目标的宽和高;   和   分别表示搜索区域中目标的宽和高;t和s分别是目标模板和搜索区域的大小。我们在实际中设置t=127和s=289。

模型设置。我们使用小型的Swin Transformer(Swin-T)作为主干    。在MSA、SMSA和MCA中,头数设置为8,FFN隐藏层中的通道数设置为2048,退出率设置为0.1。编码器层N和解码器层M的数量被设置为2,而SMSA中的稀疏性K被设置为32,见4.2节更多关于目标聚焦网络中超参数的讨论。在双头预测器的conv头中,第一个卷积块被设置为残差块,而其他L-1个被设置为瓶颈块,其中L=8。

优化。我们使用AdamW优化器对我们的方法进行20个epochs的训练。在每个epoch,我们从所有训练数据集中抽取60万个图像对。请注意,我们仅从GOT-10k的训练集中分离了30万对图像作为基准,批量大小设置为32,学习率和权重衰减均设置为1×10−4。经过10个epoch和15个epoch的训练,学习率下降到1×10−5和1×10−6。整个训练过程在4个NVIDIA RTX 2080 Ti GPU上大约需要训练60小时。TransT的训练时间约为10天(240小时),这是我们方法的4倍。

4.2 消融实验

编码器层数。在我们的方法中,编码器用于增强目标模板的泛化性,因此编码器层数对我们的方法很重要。表1列出了使用不同数量编码器层的方法的性能。有趣的是,本文提出的目标聚焦网络可以在不使用编码器的情况下得到相当不错的性能。随着数量的增加,性能逐渐提高。然而,当编码器层数大于2时,性能会下降。我们认为,过多的编码器层可能会导致模型训练的过拟合。因此,在剩下的实验中,我们将编码器层数设置为2。

解码器层数。然后我们探索解码器层数M的最佳设置,如表2所示。与N类似,当M不大于2时,随着解码器层数的增加,性能逐渐提高。我们还注意到,当M等于3时,性能下降,运行速度大幅降低,我们推测这可能是由过拟合引起的。因此,在剩下的实验中,M被设置为2。

SMSA中的稀疏度K。在SMSA中,稀疏度K显著影响前景的激活程度。由于目标的尺度变化,适当的稀疏度K可以保证SMSA具有良好的适应性和泛化能力。表3显示了不同稀疏度值对我们方法性能的影响。当   时,SMSA变为朴素MSA。在我们的方法中,SMSA总是比MSA带来更好的性能,这表明了SMSA的有效性和优越性。当K为32时,我们的方法达到了最佳性能。因此,我们在实验中将稀疏度K设置为32。

4.3 与SOTA方法相比

LaSOT是一个具有高质量标注的大规模long-term数据集。它的测试集分割由280个序列组成,平均长度超过2500帧。我们对我们的方法进行了评估,并将其与其他竞争性方法进行了比较,如表4所示。我们的方法在成功率、精度和归一化精度指标方面实现了最佳性能。

我们还对变形、部分遮挡和尺度变化的测试子集评估了我们的方法,结果如表5中。可以看出,我们的方法在上述具有挑战性的场景中表现最好,明显优于其他竞争性方法。这些挑战带来了确定目标精确边界的不确定性,从而使跟踪器难以定位和估计目标边界框。然而,我们的方法很好地应对了这些挑战。

GOT-10k包含9335个训练序列和180个测试序列。与其他数据集不同,GOT-10k只使用训练集分割进行训练。我们按照这种方式来训练我们的方法,并在测试集分割上测试它,性能如表6所示。我们发现,我们的方法在很大程度上超过了第二好的跟踪器TransT,这表明,当标注训练数据有限时,我们的方法优于其他方法。

UAV123是无人机获取的低空航拍数据集,包含123个序列,平均每个序列915帧。由于航拍图像的特点,该数据集中的许多目标具有较低的分辨率,并且容易出现快速运动和运动模糊。尽管如此,我们的方法仍然能够很好地应对这些挑战。因此,如表7所示,我们的方法优于其他竞争方法,在UAV123上实现了SOTA性能,这证明了我们方法的通用性和适用性。

OTB2015是视觉跟踪中的经典测试数据集。它包含100个短期跟踪序列,涵盖11个常见挑战,如目标变形、遮挡、尺度变化、旋转、光照变化、背景复杂等。OTB2015上测试了我们的方法的性能,尽管标注不是很准确,而且近年来趋于饱和,如表7所示。然而,我们的方法仍然优于优秀的跟踪器TransT,并取得了相当的性能。

TrackingNet是一个大规模数据集,其测试分割包括511个序列,涵盖各种目标类和跟踪场景。如表8所示,显示了我们的方法在TrackingNet数据集上的性能。可以看出我们的方法在成功度量方面取得了最佳性能。

参考文献:《A Survey of Transformers》,复旦大学邱锡鹏组。

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“综述专栏”历史文章


更多综述专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存